#!/bin/bash

# 获取微信开放平台需要的Android应用签名脚本
# 适用于playtrue3 Flutter项目

echo "🔐 获取微信开放平台Android应用签名"
echo "=================================="

# Keystore文件信息
KEYSTORE_FILE="android/playtruly_new.keystore"
KEY_ALIAS="playtruly_new" 
STORE_PASSWORD="playtruly2025new"

echo "📱 项目信息:"
echo "   包名: com.playtruly.wanzhende2025"
echo "   Keystore: $KEYSTORE_FILE"
echo "   别名: $KEY_ALIAS"
echo ""

# 检查keystore文件是否存在
if [ ! -f "$KEYSTORE_FILE" ]; then
    echo "❌ 错误: Keystore文件不存在: $KEYSTORE_FILE"
    exit 1
fi

echo "🔑 正在获取应用签名..."
echo ""

# 获取签名信息
keytool -list -v -keystore "$KEYSTORE_FILE" -alias "$KEY_ALIAS" -storepass "$STORE_PASSWORD" | grep "SHA1:" | head -n 1

echo ""
echo "📋 多种签名格式 (如果一种不行，尝试下一种):"
echo ""

# 使用Gradle获取完整签名信息（更准确）
GRADLE_OUTPUT=$(cd android && ./gradlew signingReport 2>/dev/null | grep -E "(MD5|SHA1):" | head -2)
MD5_WITH_COLON=$(echo "$GRADLE_OUTPUT" | grep "MD5:" | sed 's/.*MD5: //')
SHA1_WITH_COLON=$(echo "$GRADLE_OUTPUT" | grep "SHA1:" | sed 's/.*SHA1: //')

# 生成不同格式
SHA1_NO_COLON=$(echo "$SHA1_WITH_COLON" | tr -d ':')
SHA1_LOWERCASE=$(echo "$SHA1_NO_COLON" | tr '[:upper:]' '[:lower:]')
MD5_NO_COLON=$(echo "$MD5_WITH_COLON" | tr -d ':')

echo "🎯 格式1 - SHA1标准格式 (推荐先试这个):"
echo "   $SHA1_WITH_COLON"
echo ""

echo "🎯 格式2 - SHA1无冒号大写:"
echo "   $SHA1_NO_COLON"
echo ""

echo "🎯 格式3 - SHA1无冒号小写:"
echo "   $SHA1_LOWERCASE"
echo ""

echo "🎯 格式4 - MD5带冒号:"
echo "   $MD5_WITH_COLON"
echo ""

echo "🎯 格式5 - MD5无冒号:"
echo "   $MD5_NO_COLON"
echo ""

echo "✅ 使用说明:"
echo "1. 先尝试格式1，如果提示'签名格式错误'就尝试下一个格式"
echo "2. 登录微信开放平台 → 管理中心 → 移动应用 → 修改Android应用开发信息"
echo "3. 应用包名填: com.playtruly.wanzhende2025"
echo "4. 应用签名填: 上面任一可用格式"
echo ""

echo "🌐 微信开放平台地址:"
echo "   https://open.weixin.qq.com/"
echo ""

echo "📚 详细修复指南请查看: 微信签名格式修复指南.md"
